home *** CD-ROM | disk | FTP | other *** search
/ The CDPD Public Domain Collection for CDTV 4 / CDPD_IV.bin / e / mailinglists / amigae.0793july.archive / 000038_crash!kirk.safb.af.mil!BWILLS_Mon, 19 Jul 93 21:54:48 PST.msg < prev    next >
Internet Message Format  |  1994-05-26  |  3KB

  1. Received: by bkhouse.cts.com (V1.16/Amiga)
  2.     id AA00000; Mon, 19 Jul 93 21:54:48 PST
  3. Received: from kirk.safb.af.mil by crash.cts.com with smtp
  4.     (Smail3.1.28.1 #15) id m0oI7sm-0000pwC; Mon, 19 Jul 93 19:56 PDT
  5. Message-Id: <m0oI7sm-0000pwC@crash.cts.com>
  6. Date: 19 Jul 93 21:54:00 CST
  7. From: "Barry D. Wills" <BWILLS@kirk.safb.af.mil>
  8. To: "amigae" <amigae@bkhouse.cts.com>
  9. Subject: re: Amos to E
  10.  
  11. /* In answer to Stephane's Amos2E questions. */
  12.  
  13. PROC main ()
  14.   DEF s [2] : STRING,
  15.       c = "A",
  16.       cChar = NIL : PTR TO CHAR,
  17.       iChar = NIL : PTR TO INT,
  18.       lChar = NIL : PTR TO LONG
  19.  
  20. /* >> In Amos: A$=INKEY$ is to get a keyboard character.
  21.    Unfortunately, Inp() *waits* for the RETURN key.  If I have time maybe
  22.    I'll try to work up an IDCMP thang; don't know if that would be the
  23.    the best solution.  Meanwhile maybe someone else can pull this one out
  24.    of the air.
  25. */
  26.  
  27. /* >> Month$=Str(12) converts 12 as a string.  */
  28.   StringF (s, '\d', 12)
  29.   WriteF ('1)  Month=\s\n', s)
  30.  
  31. /* >> ASCII$=Asc(a) converts a into an ASCII value.  */
  32.   WriteF ('2)  Asc(c)=\d\n', c)
  33.  
  34. /* >> A$=CHR$(27) convert a ASCII value into a character.  */
  35.   WriteF ('3)  CHR$(c)=\c\n', c)
  36.  
  37. /* Characters are similar to those in C.  It's how you treat them that */
  38. /* makes the difference.  Note the following awesome feature:          */
  39.   c := "FRED"
  40.   WriteF ('4a)  32-bit character!  But be careful what you want:\n' +
  41.           '           CHR$(c) = \c\n' +
  42.           '     (no equiv)(c) = \d\n', c, c)
  43.  
  44. /* And lastly...a little of Wouter's polymorphism. */
  45.   cChar := iChar := lChar := 'FRED'
  46.   WriteF ('4b)  What WriteF() thinks about 32-bit characters:\n' +
  47.           '     cChar[]=\c\n' +
  48.           '     iChar[]=\c\n' +
  49.           '     lChar[]=\c\n',
  50.           cChar[], iChar[], lChar[])
  51.   WriteF ('     What E really thinks about 32-bit characters:\n' +
  52.           '     cChar[]=\s,    Char(cChar)=\d[10], cChar[]=\d[10]\n' +
  53.           '     iChar[]=\s,   Int(iChar) =\d[10], iChar[]=\d[10]\n' +
  54.           '     lChar[]=\s, Long(lChar)=\d[10], lChar[]=\d[10]\n',
  55.           IF cChar[] = "F"    THEN 'F'    ELSE '*', Char (cChar), cChar[],
  56.           IF iChar[] = "FR"   THEN 'FR'   ELSE '*', Int (iChar),  iChar[],
  57.           IF lChar[] = "FRED" THEN 'FRED' ELSE '*', Long (lChar), lChar[])
  58.  
  59. /*=====
  60. >from Amos<->E like he did with C<->E it would be very usefull. And I need the
  61. >commands how to get or put values from gadtools gadgets.
  62.  
  63. Sorry, Stephane.  KS1.3 is too dumb for gadtools :(
  64. I got carried away, so you got more than you asked for.  Hope I answered
  65. your other questions thoroughly.
  66.  
  67. Later.
  68. -- Barry
  69.  
  70. =====*/
  71. ENDPROC